home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / text / RBCollationTables.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.4 KB  |  153 lines

  1. package java.text;
  2.  
  3. import java.util.Vector;
  4. import sun.text.IntHashtable;
  5. import sun.text.UCompactIntArray;
  6.  
  7. final class RBCollationTables {
  8.    static final int EXPANDCHARINDEX = 2113929216;
  9.    static final int CONTRACTCHARINDEX = 2130706432;
  10.    static final int UNMAPPED = -1;
  11.    static final int PRIMARYORDERMASK = -65536;
  12.    static final int SECONDARYORDERMASK = 65280;
  13.    static final int TERTIARYORDERMASK = 255;
  14.    static final int PRIMARYDIFFERENCEONLY = -65536;
  15.    static final int SECONDARYDIFFERENCEONLY = -256;
  16.    static final int PRIMARYORDERSHIFT = 16;
  17.    static final int SECONDARYORDERSHIFT = 8;
  18.    private String rules = null;
  19.    private boolean frenchSec = false;
  20.    private boolean seAsianSwapping = false;
  21.    private UCompactIntArray mapping = null;
  22.    private Vector contractTable = null;
  23.    private Vector expandTable = null;
  24.    private IntHashtable contractFlags = null;
  25.    private short maxSecOrder = 0;
  26.    private short maxTerOrder = 0;
  27.  
  28.    public RBCollationTables(String var1, int var2) throws ParseException {
  29.       this.rules = var1;
  30.       RBTableBuilder var3 = new RBTableBuilder(new BuildAPI(this, (1)null));
  31.       var3.build(var1, var2);
  32.    }
  33.  
  34.    public String getRules() {
  35.       return this.rules;
  36.    }
  37.  
  38.    public boolean isFrenchSec() {
  39.       return this.frenchSec;
  40.    }
  41.  
  42.    public boolean isSEAsianSwapping() {
  43.       return this.seAsianSwapping;
  44.    }
  45.  
  46.    Vector getContractValues(int var1) {
  47.       int var2 = this.mapping.elementAt(var1);
  48.       return this.getContractValuesImpl(var2 - 2130706432);
  49.    }
  50.  
  51.    private Vector getContractValuesImpl(int var1) {
  52.       return var1 >= 0 ? (Vector)this.contractTable.elementAt(var1) : null;
  53.    }
  54.  
  55.    boolean usedInContractSeq(int var1) {
  56.       return this.contractFlags.get(var1) == 1;
  57.    }
  58.  
  59.    int getMaxExpansion(int var1) {
  60.       int var2 = 1;
  61.       if (this.expandTable != null) {
  62.          for(int var3 = 0; var3 < this.expandTable.size(); ++var3) {
  63.             int[] var4 = (int[])this.expandTable.elementAt(var3);
  64.             int var5 = var4.length;
  65.             if (var5 > var2 && var4[var5 - 1] == var1) {
  66.                var2 = var5;
  67.             }
  68.          }
  69.       }
  70.  
  71.       return var2;
  72.    }
  73.  
  74.    final int[] getExpandValueList(int var1) {
  75.       return (int[])this.expandTable.elementAt(var1 - 2113929216);
  76.    }
  77.  
  78.    int getUnicodeOrder(int var1) {
  79.       return this.mapping.elementAt(var1);
  80.    }
  81.  
  82.    short getMaxSecOrder() {
  83.       return this.maxSecOrder;
  84.    }
  85.  
  86.    short getMaxTerOrder() {
  87.       return this.maxTerOrder;
  88.    }
  89.  
  90.    static void reverse(StringBuffer var0, int var1, int var2) {
  91.       int var3 = var1;
  92.  
  93.       for(int var5 = var2 - 1; var3 < var5; --var5) {
  94.          char var4 = var0.charAt(var3);
  95.          var0.setCharAt(var3, var0.charAt(var5));
  96.          var0.setCharAt(var5, var4);
  97.          ++var3;
  98.       }
  99.  
  100.    }
  101.  
  102.    static final int getEntry(Vector var0, String var1, boolean var2) {
  103.       for(int var3 = 0; var3 < var0.size(); ++var3) {
  104.          EntryPair var4 = (EntryPair)var0.elementAt(var3);
  105.          if (var4.fwd == var2 && var4.entryName.equals(var1)) {
  106.             return var3;
  107.          }
  108.       }
  109.  
  110.       return -1;
  111.    }
  112.  
  113.    // $FF: synthetic method
  114.    static boolean access$102(RBCollationTables var0, boolean var1) {
  115.       return var0.frenchSec = var1;
  116.    }
  117.  
  118.    // $FF: synthetic method
  119.    static boolean access$202(RBCollationTables var0, boolean var1) {
  120.       return var0.seAsianSwapping = var1;
  121.    }
  122.  
  123.    // $FF: synthetic method
  124.    static UCompactIntArray access$302(RBCollationTables var0, UCompactIntArray var1) {
  125.       return var0.mapping = var1;
  126.    }
  127.  
  128.    // $FF: synthetic method
  129.    static Vector access$402(RBCollationTables var0, Vector var1) {
  130.       return var0.contractTable = var1;
  131.    }
  132.  
  133.    // $FF: synthetic method
  134.    static Vector access$502(RBCollationTables var0, Vector var1) {
  135.       return var0.expandTable = var1;
  136.    }
  137.  
  138.    // $FF: synthetic method
  139.    static IntHashtable access$602(RBCollationTables var0, IntHashtable var1) {
  140.       return var0.contractFlags = var1;
  141.    }
  142.  
  143.    // $FF: synthetic method
  144.    static short access$702(RBCollationTables var0, short var1) {
  145.       return var0.maxSecOrder = var1;
  146.    }
  147.  
  148.    // $FF: synthetic method
  149.    static short access$802(RBCollationTables var0, short var1) {
  150.       return var0.maxTerOrder = var1;
  151.    }
  152. }
  153.